<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
*/

/**
 * Description of PaperController
 *
 * @author cshepherd
 */
class PaperController extends Controller {
    public function evaluacionUpdate() {
        $vars = array();
        if(isset ($_SESSION['usuario_autenticado'])) {
            //echo "<div id='message_oper_true'><div style='padding-left:30px;'>".$_POST['recomendacion']."asdasdas</div></div>";
            if($_POST['evaluacion']!="") {
                $objPaper = new Paper();
                $objPaper->actualizarPaper($_POST);

                $objAutor = new Autor();
                $cont_autor = $objAutor->contador("autor", "id_autor", "");
                $vars['data_autor'] = $objAutor->listar('TRUE', 1, $cont_autor, 'nombre', 'ASC');
                $filas_autor = $vars['data_autor']['list_autor'];

                $objAutorPaper = new AutorPaper;
                $cont_autor_paper = $objAutorPaper->contador("autor_paper", "id_autor_paper", "");
                $vars['data_autor_paper'] = $objAutorPaper->listar('TRUE', 1, $cont_autor_paper, 'id_autor_paper', 'ASC');
                $filas_autor_paper = $vars['data_autor_paper']['list_autor_paper'];

                $autorList = new ArrayObject();
                foreach ($filas_autor_paper as $fila_autor_paper) {
                    if($fila_autor_paper->getIdPaper()==$_POST['id_paper']) {
                        foreach ($filas_autor as $fila_autor) {
                            if($fila_autor->getIdAutor()==$fila_autor_paper->getIdAutor()) {
                                $objAutorTO = new AutorTO();
                                $objAutorTO = $fila_autor;
                                $autorList[]=$objAutorTO;
                            }
                        }
                    }
                }

                //echo $autorList[0]->getNombre();

               /* for($i=0;$i<sizeof($autorList);$i++) {
                    $cuerpo = "<html>";
                    $cuerpo .= "<body>";
                    $cuerpo .= "<div style='padding:20px;width: 400px;border-color:olive;border-style:solid;border-width:4px;'>";
                    $cuerpo .= "<center><img src=''></center>";
                    $cuerpo .= utf8_decode("<br/><strong><center>Resultados Paper - IAM 2011</center></strong><br/>");
                    $cuerpo .= ("Estimado(a): <strong>". $autorList[$i]->getNombre()." ".$autorList[$i]->getApellido()."</strong><br/><br/>");
                    $cuerpo .= utf8_decode("El resultado de su paper fue: ".$_POST['evaluacion'] ." </a><br/><br/>");
                    $cuerpo .= utf8_decode("Comentarios: ".$_POST['recomendacion'] ." </a><br/><br/>");
                    $cuerpo .= utf8_decode("Muchas gracias.");
                    $cuerpo .= "</div>";
                    $cuerpo .= "</body>";
                    $cuerpo .= "</html>";

                    $cabeceras = "From: iam2011@esan.edu.pe\r\nContent-type: text/html\r\n";
                    mail($autorList[$i]->getEmail1(), utf8_decode("Confirmación registro Paper - IAM 2011"), $cuerpo,$cabeceras);
                }

                $_SESSION['mensaje_final_correo'] = "<div id='message_oper_true'><div style='padding-left:30px;'>Actualización realizada</div></div>";
                header("Location: ".$_SESSION['last_url']);*/
            }else {
                $_SESSION['mensaje_final_correo'] = "<div id='message_oper_false'><div style='padding-left:30px;'>Debe elegir una opción</div></div>";
                header("Location: ".$_SESSION['last_url']);
            }
        }else {
            $vars['validate_form'] = "<div id='msn_operacion_true'><div style='padding-left:30px;'>Debe ingresar al sistema.</div></div>";
            $this->view->show('login' , 'intranet', $vars);
        }
    }

    public function detalle() {
        $vars = array();
        $vars['page_autor'] = 1;
        $vars['page_autor_paper'] = 1;
        $objIdioma = new Idioma;
        $vars['data_idioma'] = $objIdioma->listar('TRUE', 1, 3, 'nombre', 'DESC');
        $objAutor = new Autor;
        $cont_autor = $objAutor->contador("autor", "id_autor", "");
        $vars['data_autor'] = $objAutor->listar('TRUE', $vars['page_autor'], $cont_autor, 'id_autor', 'DESC');
        $objAutorPaper = new AutorPaper;
        $cont_autor_paper = $objAutorPaper->contador("autor_paper", "id_autor_paper", "");
        $vars['data_autor_paper'] = $objAutorPaper->listar('TRUE', $vars['page_autor_paper'], $cont_autor_paper, 'id_autor_paper', 'DESC');

        $objRevisor = new Revisor();
        $vars['page_revisor'] = 1;
        $cont_revisor = $objRevisor->contador("revisor", "id_revisor", "");
        $vars['data_revisor'] = $objRevisor->listar('TRUE', $vars['page_revisor'], $cont_revisor, 'nombre', 'desc');

        $objRevisorPaper = new RevisorPaper;
        $vars['page_revisor_paper'] = 1;
        $cont_revisor_paper = $objRevisorPaper->contador("revisor_paper", "id", "");
        $vars['data_revisor_paper'] = $objRevisorPaper->listar('TRUE', $vars['page_revisor_paper'], $cont_revisor_paper, 'id', 'DESC');

        $objPaper = new Paper();
        $objPaperTO = new PaperTO();
        $objPaperTO = $objPaper->obtenerPaper($_GET);
        $vars['objPaperTO'] = $objPaperTO;

        $objUrl = new Url();
        $_SESSION['last_url'] = $objUrl->getUrl();

        $vars['scripts'] = 'evaluacion_paper,jquery-1.3.2.min,jquery.delay,revisor,nicEdit,textarea_css';
        $this->view->show('detalle_paper' , 'intranet', $vars);
    }

    public function buscar() {
        $vars = array();
        $vars['page'] = 1;
        //$vars['page_pais'] = 1;
        //$vars['page_idioma'] = 1;
        $vars['page_autor'] = 1;
        $vars['page_autor_paper'] = 1;
        //$vars['page_revisor_paper'] = 1;
        //$vars['page_idioma']=1;
        if(!empty($_GET['page'])) {
            $vars['page'] = intval($_GET['page']);
        }

        try {

            $objPaper = new Paper;


            if(!empty($_SESSION['usuario_autenticado'])) {

                $condition = '';
                $cont = 0;
                $evaluar = '';

                if($_POST['track']!='') {
                    $condition .= " id_track = ".$_POST['track'];
                    $evaluar = 1;
                    $cont = 1;
                }

                if($_POST['estado']!='') {
                    if($cont==1) {
                        $condition .= " AND ";
                    }
                    $condition .= " estado = '".utf8_decode($_POST['estado'])."'";
                    $cont = 2;
                }

                if($_POST['idioma']!='') {
                    if(($cont==2) OR ($cont==1)) {
                        $condition .= " AND ";
                    }
                    $condition .= " id_idioma = ".$_POST['idioma'];
                }

                if(($_GET['id_track'])||($_GET['estado'])||($_GET['id_idioma'])) {
                    $condition = '';
                    $cont = 0;
                    $evaluar = '';

                    if(isset ($_GET['id_track'])) {
                        $condition .= " id_track = ".$_GET['id_track'];
                        $evaluar = 1;
                        $cont = 1;
                    }

                    if(isset ($_GET['estado'])) {
                        if($cont==1) {
                            $condition .= " AND ";
                        }
                        $condition .= " estado = '".utf8_decode($_GET['estado'])."'";
                        $cont = 2;
                    }

                    if(isset ($_GET['id_idioma'])) {
                        if(($cont==2) OR ($cont==1)) {
                            $condition .= " AND ";
                        }
                        $condition .= " id_idioma = ".$_GET['id_idioma'];
                    }
                }

                if($_SESSION['usuario_autenticado']->getIdPerfil()=="3") {
                    $_SESSION['cuenta_data']->getIdRevisor();
                    if($condition=='') {
                        $condition = 'TRUE';
                    }
                    $objRevisorPaper = new RevisorPaper;
                    $vars['data_paper'] = $objPaper->listar($condition, $vars['page'], 10000, 'id_paper', 'DESC');
                    $cont_revisor_paper = $objRevisorPaper->contador("revisor_paper", "id", "");
                    $vars['data_revisor_paper'] = $objRevisorPaper->listar('TRUE', 1, $cont_revisor_paper, 'id', 'DESC');
                }else {
                    if($_SESSION['usuario_autenticado']->getIdPerfil()=="4") {
                        if($evaluar!=1) {
                            if($condition!='') {
                                $condition .= ' AND ';
                            }
                            $objTrack = new Track;
                            $id_track = $objTrack->findTrackByIdChair($_SESSION['cuenta_data']->getIdChair());
                            $condition .= " id_track = ".$id_track;
                        }
                        $vars['data_paper'] = $objPaper->listar($condition, $vars['page'], 7, 'titulo', 'ASC');
                    }else {
                        if($condition=='') {
                            $condition = 'TRUE';
                        }
                        //echo $condition."<br/>";
                        $vars['data_paper'] = $objPaper->listar($condition, $vars['page'], 7, 'titulo', 'ASC');
                    }
                }

                $objPais = new Pais;
                $vars['data_pais'] = $objPais->listar('TRUE', 1, 25, 'nombre', 'DESC');
                $objIdioma = new Idioma;
                $vars['data_idioma'] = $objIdioma->listar('TRUE', 1, 3, 'nombre', 'DESC');
                $objAutor = new Autor;
                $cont_autor = $objAutor->contador("autor", "id_autor", "");
                $vars['data_autor'] = $objAutor->listar('TRUE', $vars['page_autor'], $cont_autor, 'id_autor', 'DESC');
                $objAutorPaper = new AutorPaper;
                $cont_autor_paper = $objAutorPaper->contador("autor_paper", "id_autor_paper", $condicion);
                $vars['data_autor_paper'] = $objAutorPaper->listar('TRUE', $vars['page_autor_paper'], $cont_autor_paper, 'id_autor_paper', 'DESC');

                $urlObjeto = new Url();
                $_SESSION['url'] = $urlObjeto->getUrl();
                //echo $_SESSION['url'];

                $this->view->show('adm_paper' , 'intranet', $vars);
            }else {
                $vars['flag'] = "Debe ingresar al sistema";
                $this->view->show('login' , 'default', $vars);
            }

        }
        catch(Exception $e) {
            $vars['flag'] = $e->getMessage();
            $this->view->show('home' , 'intranet', $vars);
        }

    }

    public function buscarDetails() {
        if(isset ($_SESSION['usuario_autenticado'])) {
            $vars = array();
            $objIdioma = new Idioma();
            $vars['data_idioma'] = $objIdioma->listar('TRUE', '1', '100', 'nombre', 'DESC');
            $objTrack = new Track();
            $vars['data_track'] = $objTrack->listar('TRUE', '1', '100', 'nombre', 'DESC');
            $this->view->show('buscar_details_paper', 'intranet', $vars);
        }else {
            $vars['validate_form'] = "<div id='msn_operacion_true'><div style='padding-left:30px;'>Debe ingresar al sistema.</div></div>";
            $this->view->show('login' , 'intranet', $vars);
        }
    }

    public function index() {
        $vars = array();
        if(sizeof($_SESSION['autor_list'])>0) {
            $objIdioma = new Idioma();
            $vars['data_idioma'] = $objIdioma->listar('TRUE', '1', '100', 'nombre', 'DESC');
            $objTrack = new Track();
            $vars['data_track'] = $objTrack->listar('TRUE', '1', '100', 'nombre', 'DESC');
            $vars['scripts'] = 'jquery,jquery.validate,register_form';
            $this->view->show('registro_paper', 'default', $vars);
        }else {
            $vars['scripts'] = 'jquery,jquery.validate,register_form';
            $objPais = new Pais;
            $vars['data_pais'] = $objPais->listar('TRUE', '1', '100', 'nombre', 'DESC');
            $_SESSION['msn_operacion'] = "<div id='msn_operacion_false'><div style='padding-left:30px;'>Debe ingresar como minimo 1 autor.</div></div>";
            $this->view->show('registro_index', 'default', $vars);
        }
    }

    public function registrar() {
        if(sizeof($_SESSION['autor_list'])>0) {

            $arrayObject = new ArrayObject();
            $arrayObject = $_SESSION['autor_list'];

            $archivo_paper = $_FILES['archivo']['name'];

            require 'lib/util/RandomGenerator.php';

            $objRamdomGenerator = new RandomGenerator();
            $ramdom = $objRamdomGenerator->myUniqId(5);
            $archivo_paper = $ramdom."@".$archivo_paper;

            $objCleanString = new CleanString();
            $archivo_paper = $objCleanString->clean($archivo_paper);

            if (is_uploaded_file($_FILES['archivo']['tmp_name'])) {
                copy($_FILES['archivo']['tmp_name'],"documents/papers/$archivo_paper");
            }

            $objPaper = new Paper();
            $objPaper->insertar($_POST, $archivo_paper);

            $objPaperTO = new PaperTO();
            $objPaperTO->setTitulo($_POST['titulo']);
            $objPaperTO = $objPaper->obtenerIdPaper($objPaperTO);

            $objAutor = new Autor();
            for($i=0;$i<sizeof($arrayObject);$i++) {
                //echo var_dump($arrayObject);
                $objAutorTO = new AutorTO();
                $objAutorTO = $arrayObject[$i];
                $rgeneratorObject = new RandomGenerator();
                $objAutorTO->setIdSec($rgeneratorObject->myUniqId(10));
                $objAutor->insertar($objAutorTO);

                $cuerpo = "<html>";
                $cuerpo .= "<body>";
                $cuerpo .= "<div style='padding:20px;width: 400px;border-color:olive;border-style:solid;border-width:4px;'>";
                $cuerpo .= "<center><img src=''></center>";
                $cuerpo .= utf8_decode("<br/><strong><center>Paper Registration Confirmation - IAM 2011</center></strong><br/>");
                $cuerpo .= ("Estimado(a): <strong>". $objAutorTO->getNombre()." ".$objAutorTO->getApellido()."</strong><br/><br/>");
                $cuerpo .= utf8_decode(" Your paper has been successfully uploaded in the paper's registration system any doubts or questions regarding your paper submission please contact Alfredo Palomino at <a href='iam2011@es​an.pe'>iam2011@es​an.edu.pe</a><br/><br/>");
                $cuerpo .= utf8_decode("thank you very much");
                $cuerpo .= "</div>";
                $cuerpo .= "</body>";
                $cuerpo .= "</html>";

                $cabeceras = "From: iam2011@es​an.edu.pe\r\nContent-type: text/html\r\n";
                mail($objAutorTO->getEmail1(), utf8_decode("Paper Registration Confirmation - IAM 2011"), $cuerpo,$cabeceras);

                $objAutorTO = $objAutor->obtenerIdAutor($objAutorTO);
                $objAutorPaper = new AutorPaper();
                $objAutorPaper->insertar($objAutorTO->getIdAutor(), $objPaperTO->getIdPaper());

            }
            session_destroy();
            unset ($_SESSION['autor_list']);
            $this->view->show('registro_paper_msn', 'default', $vars);
        }else {
            $vars['scripts'] = 'jquery,jquery.validate,register_form';
            $objPais = new Pais;
            $vars['data_pais'] = $objPais->listar('TRUE', '1', '100', 'nombre', 'DESC');
            $_SESSION['msn_operacion'] = "<div id='msn_operacion_false'><div style='padding-left:30px;'>Debe ingresar como minimo 1 autor.</div></div>";
            $this->view->show('registro_index', 'default', $vars);
        }
    }
}
?>
